home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Libraries / hash / README < prev    next >
Encoding:
Text File  |  1994-03-25  |  4.0 KB  |  115 lines  |  [TEXT/R*ch]

  1. @(#)README    10.1 3/25/94 08:04:14
  2.  
  3. Landon Curt Noll    chongo@toad.com        /\../\
  4.  
  5. This is an implementation of the Secure Hash Standard (SHS)
  6. as well as implementation of the RSA Data Security, Inc. 
  7.         MD5 Message-Digest Algorithm
  8.  
  9. The digests produced from strings (-s string), files or stdin are
  10. identical to the original programs.  The command line and output
  11. interface are upward compatible as well.  Users of the original shs
  12. program may replace it with this version has their existing use
  13. and digests will be preserved.
  14.  
  15. To build:
  16.  
  17.     <<Edit the Makefile as needed>>
  18.     make all
  19.     make test
  20.  
  21. To install:
  22.  
  23.     make install
  24.  
  25. This implementation has been improved over the original posting in
  26. a number of ways:
  27.  
  28.   * performance
  29.  
  30.     On some platforms, the characters per second processed have been
  31.     increased by a factor of almost 3.5 times the original postings.
  32.  
  33.   * inode digests
  34.  
  35.     This flag allows one to include the filename and various inode 
  36.     information in the digest.  This option is useful in detecting 
  37.     file tampering where the contents of the file was later restored.
  38.  
  39.   * version string
  40.  
  41.     The -v flag prints the version.
  42.  
  43.   * test suites
  44.  
  45.     The standard test suite (-x) been changed.  The initial string
  46.     for shs now says 'shs test suite results' instead of 'SHA test
  47.     suite results'.  While it is true that it we testing the
  48.     algorithm the program is called shs.  The initial string for
  49.     md5 now says 'md5 test suite results' instead of 'MD5 test
  50.     suite results'.  These changes also helps distinguish this
  51.     version from much older versions which did not have the -v
  52.     (print version) flag.
  53.  
  54.     The original test file "foo" which contained the string "abc" (with
  55.     no newline) was renamed file1.
  56.  
  57.     To avoid filename conflicts, the shs and md5 verify.data files
  58.     were renamed shs.data and md5.data respectively.
  59.  
  60.     A new file, "file2" was added to the standard test suite.  This
  61.     file is larger than an internal read and thus helps test file
  62.     processing.  The contents of this file are two highly munged
  63.     copies of the original README.  The munging to prevent people
  64.     from using this file as documentation.
  65.  
  66.     The test suite will first look in the current directory for
  67.     "file1".  If it is not found, it will look in ${DESTDIR}
  68.     (usually /usr/local/lib/{shs,md5}) as defined in the makefile.
  69.     It is assumes that "file2" is in the same location as "file1".
  70.  
  71.     With the exception of the initial title line and the addition
  72.     of file2, the md5.data and shs.data file is identical to the
  73.     respective originals.
  74.  
  75.   * prepend data
  76.  
  77.     By using '-p string' one may prepend any set of data with a
  78.     string.  The digest produced is equivalent to digest that is
  79.     produced with the string pretended to the data.  By use of the
  80.     '-P file' interface, one may prepend using up to the 32k of a
  81.     file.  This interface allows one to prepend using binary data.
  82.  
  83.   * performance test suite
  84.  
  85.     The -t performance test has been changed to compute user cpu
  86.     time.  Older tests looked at wall clock time.  Variations in 
  87.     system load produced variations in the reported performance.
  88.  
  89.     The test length was increased to 16 megabytes.  One may change
  90.     the number of megabytes processed by changing the value of
  91.     TEST_MEG in the file shsdrvr.c or md5drvr.c.
  92.  
  93.     On some systems with certain virtual memory characteristics,
  94.     you may need to run the performance test 3 times, ignoring the
  95.     first result.
  96.  
  97.   * quiet mode
  98.  
  99.     When -q is given, only digests are printed.
  100.  
  101.   * dual digests
  102.  
  103.     The data (and prepend data) is split into two separate sets.
  104.     The even set begins with the first byte and contains every other
  105.     byte.  The odd set beings with the second byte.
  106.  
  107.     The order of the output is the even digest followed by the odd digest.
  108.  
  109. See shsdrvr.c and md5drvr.c for version information.  See the man pages
  110. shs.1 and md5.1 for other details.  Also see README.shs and README.md5.
  111. Happy hashing!
  112.  
  113.                     -- Landon Curt Noll
  114.                        chongo@toad.com
  115.